package la.bbs558.aop.control.anotation;

import la.bbs558.aop.control.Handler;
import la.bbs558.aop.control.DefaultHandler;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Classname OperationLog
 * @Description TODO
 * @Date 2023/11/21 11:22
 * @Created by weihanmin
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface HandleAfter {

    boolean async() default true;

    /**
     * 功能描述: SpEL表达式
     * @param
     * @author weihanmin
     * @since 2022/11/21 11:47
     */
    String paramExpression() default "";
    /**
     * 功能描述: 执行前处理执行器
     * @param
     * @author weihanmin
     * @since 2022/11/21 11:47
     */
    Class<? extends Handler> handler() default DefaultHandler.class;


}
